Fix leaks in tests
authorMatthias Clasen <mclasen@redhat.com>
Wed, 4 Dec 2019 12:51:04 +0000 (07:51 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 4 Dec 2019 23:24:56 +0000 (18:24 -0500)
All the list model tests were leaking items,
because g_list_model_get_item is transfer full.

Fixing these unveils a crash in the treelistmodel
and maplistmodel tests.

testsuite/gtk/filterlistmodel.c
testsuite/gtk/flattenlistmodel.c
testsuite/gtk/maplistmodel.c
testsuite/gtk/slicelistmodel.c
testsuite/gtk/sortlistmodel.c
testsuite/gtk/treelistmodel.c

index 6cd91112553612f1801f9e256bc4d692684da04e..35ddfde05293c899c0b7023a656200d3627473dd 100644 (file)
@@ -29,8 +29,11 @@ get (GListModel *model,
      guint       position)
 {
   GObject *object = g_list_model_get_item (model, position);
+  guint number;
   g_assert (object != NULL);
-  return GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  number = GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  g_object_unref (object);
+  return number;
 }
 
 static char *
index 79921e504268acd612ccaf6cc968c39530b09f6d..8851097dc5a0965c036e130a15cd4cb9854e1569 100644 (file)
@@ -29,8 +29,11 @@ get (GListModel *model,
      guint       position)
 {
   GObject *object = g_list_model_get_item (model, position);
+  guint number;
   g_assert (object != NULL);
-  return GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  number = GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  g_object_unref (object);
+  return number;
 }
 
 static char *
index 11f87f0d373cec3ba331706986614607c5649d9d..5b6af7b5e450204f71c1bec50338f80308bd228d 100644 (file)
@@ -29,8 +29,11 @@ get (GListModel *model,
      guint       position)
 {
   GObject *object = g_list_model_get_item (model, position);
+  guint number;
   g_assert (object != NULL);
-  return GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  number = GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  g_object_unref (object);
+  return number;
 }
 
 static char *
index a672feeac853993e287cd39251fab99181fb6db4..48619c4f8259e78ff0d51c25a9a6994f9f39ab14 100644 (file)
@@ -28,8 +28,11 @@ get (GListModel *model,
      guint       position)
 {
   GObject *object = g_list_model_get_item (model, position);
+  guint number;
   g_assert (object != NULL);
-  return GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  number = GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  g_object_unref (object);
+  return number;
 }
 
 static char *
index 03b5c8ad64547de0321f07fdc53893eb768c2e29..1fb430aafb473c02a788f07c471ab7459cf9f09d 100644 (file)
@@ -29,8 +29,11 @@ get (GListModel *model,
      guint       position)
 {
   GObject *object = g_list_model_get_item (model, position);
+  guint number;
   g_assert (object != NULL);
-  return GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  number = GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  g_object_unref (object);
+  return number;
 }
 
 static char *
index a54d869aa3f37f874355db99d82c806e8c6bda8c..3a0d6df674827df9ca6eba7bc9ebfa95f1a016c1 100644 (file)
@@ -29,8 +29,11 @@ get (GListModel *model,
      guint       position)
 {
   GObject *object = g_list_model_get_item (model, position);
+  guint number;
   g_assert (object != NULL);
-  return GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  number = GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark));
+  g_object_unref (object);
+  return number;
 }
 
 static char *